/**  
 * @Title:  IDataSource.java   
 * @Package com.gtjy.p2p.modules.tiles.sys   
 * @Description:    TODO(用一句话描述该文件做什么)   
 * @author: 吴元森 
 * @date:   2018年7月19日 下午6:23:12   
 * @version V1.0 
 * @Copyright: 2018 吴元森.
 */
package com.platform.service;

import java.util.Map;

import com.platform.base.R;
import com.platform.bean.TableBean;
import com.platform.dto.DataSource;

/**   
 * @ClassName:  IDataSource   
 * @Description:TODO(这里用一句话描述这个类的作用)   
 * @author: 吴元森 
 * @date:   2018年7月19日 下午6:23:12   
 *     
 * @Copyright: 2018 吴元森.  
 */
public interface IDataSource {
	
	/**
	 * @Title: findByPaging   
	 * @Description: 查询数据源（分页）
	 * @param start
	 * @param limit
	 * @param ds
	 * @return      
	 * R
	 */
	public R<?> findByPaging(int start,int limit,DataSource ds);
	
	public R<?> findByAll(DataSource ds);
	
	/**
	 * @Title: deleteByCode   
	 * @Description: 删除指定数据源（物理删除） 
	 * @param code
	 * @return      
	 * R
	 */
	public R<?> deleteByCode(String code);
	
	/**
	 * @Title: insertDs   
	 * @Description: 插入新的数据源
	 * @param ds
	 * @return      
	 * R
	 */
	public R<?> insertDs(DataSource ds);
	
	/**
	 * @Title: modifyDs   
	 * @Description: 修改数据源
	 * @param ds
	 * @return      
	 * R
	 */
	public R<?> modifyDs(DataSource ds);
	public DataSource selectById(Long id);
	
	
	public R<?> selectDataSoucesByTree(Map<String,Object> params);
	public R<?> getDataBaseTableAndView(Long code);
	public R<?> getDataBaseTableAndViewNoTree(Long code);
	public R<?> getTableField(Long code,String tableName);
	public R<?> executeSQL(Long code,String sql, String tableName,int start ,int limit);
	public TableBean getFields(String tablename,String code);
	public R<?> runSQL(Long code,String sql,int start,int limit);
}
